Darf ich mich vorstellen .... der PHP Newbie schlechthin
ich habe mir da einen Mailer besorgt , der läuft ganz ordentlich ... doch ich will so Sachen wie Fehlermeldung oder das die Mail gesendet wurde in einem separeten HTML Fenster übertragen lassen. Im Moment überträgt er mir die Daten in die selbe Seite ??? will ich aber nich :-)
Ich weiss nicht ob das so ok ist aber isch Poste mal das ganze Listing:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--***********************************************************
*********** Copyright Elmar Eigner, open-eye, 2000 ***********
*********** HTML--FLASH--PDF--SCRIPTING.php.js.perl ***********
***************************************************************
*********** visit us at: http://www.open-eye.de ***********
*********** questions/comments to: info@open-eye.de ***********
***************************************************************
*********** do not delete this copyright-note! ***********
***************************************************************
*********** php Formmailer: easyFormMailer ***********
*********** flexibel formular handling + formatting ***********
*********** free private use, if you`ve registred at: *********
*********** http://www.nichtohnegrund.de/registerform.html ****
**********************************************************//-->
<html>
<head>
<title>php FormMailer</title>
<meta name="author" content="Elmar Eigner">
</head>
<BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
<?php
############# muß-Felder, die im Formular sein müssen:
############# $ee_subject
############# $Mail_to
############# $Name
############# $Email
$doc_stat = 0;
$mail_checked = "ERROR";
$email_checked = "ERROR";
$fehler = 0;
$fehlerstr = "<div style=\"color:red;font-size:16px;font-family:Arial;text-align:center;\">";
$felder[$i] = array();
$feldwerte[$i] = array();
$feldwertcheck[$i] = array();
$felderzahl = 0;
if($QUERY_STRING!="") {
$doc_stat = 1;
$query_parts = split("&",$QUERY_STRING);
$felderzahl = $query_parts_len = count($query_parts);
for($i=0;$i<$query_parts_len;$i++) {
list($tmpname,$tmpwert) = split("=",$query_parts[$i]);
$felder[$i] = $tmpname;
$feldwerte[$i] = $tmpwert;
$feldwertcheck[$i] = "LEER";
######## in fact just needed if (track globals=0) ##
if($tmpname=="ee_subject") $ee_subject=$tmpwert;
if($tmpname=="Mail_to") $Mail_to=$tmpwert;
if($tmpname=="Name") $Name=$tmpwert;
if($tmpname=="Email") $Email=$tmpwert;
if($tmpname=="required") $required=$tmpwert;
}
}
else if(isset ($HTTP_POST_VARS)) {
$doc_stat = 1;
reset ($HTTP_POST_VARS);
$daten = $HTTP_POST_VARS;
$felderzahl = $daten_len = count($daten);
$felder = array_keys($daten);
for($i=0;$i<$daten_len;$i++) {
$tmpwert = $daten[$felder[$i]];
$feldwerte[$i] = $tmpwert;
$feldwertcheck[$i] = "LEER";
######## in fact just needed if (track globals=0) ##
if($felder[$i]=="ee_subject") $ee_subject=$tmpwert;
if($felder[$i]=="Mail_to") $Mail_to=$tmpwert;
if($felder[$i]=="Name") $Name=$tmpwert;
if($felder[$i]=="Email") $Email=$tmpwert;
if($felder[$i]=="required") $required=$tmpwert;
}
}
else echo "An Error occured!";
############################### email checker #####################################
function check_mail_val($wmail) {
global $fehler,$fehlerstr;
$Kmail = ereg_replace("%40","@",$wmail);
if(preg_match ("/[öäüß]/i", "$Kmail") || preg_match ("/[^\w(\@\.\-)]/", "$Kmail") || !preg_match ("/\./", "$Kmail") || !preg_match ("/\@/i", "$Kmail") || strlen($Kmail)<8) {
$fehler++;
$fehlerstr .= "<b>Emailadresse</b> nicht gültig ($Kmail)<br>";
return "ERROR";
}
else return $Kmail;
}
function check_fld_len($FELD) {
global $fehler;
if(strlen($FELD)<1) {
$fehler++;
return "LEER";
}
else return $FELD;
}
if($doc_stat == 1) {
$mail_checked = check_mail_val($Mail_to);
if($Email!="") $email_checked = check_mail_val($Email);
$ee_subject_dec = urldecode($ee_subject);
}
for($ee=0;$ee<$felderzahl;$ee++) {
if(stristr($required,$felder[$ee])==true) {
$feldwertcheck[$ee] = check_fld_len($feldwerte[$ee]);
if($feldwertcheck[$ee]!="LEER" && $felder[$ee]!="Mail_to" && $felder[$ee]!="ee_subject" && $felder[$ee]!="required")
$ee_body_middle .= "\t".$felder[$ee].":\t\t".$feldwerte[$ee]."\n\n";
else if($feldwertcheck[$ee]=="LEER")
$fehlerstr .= "Feld <b>$felder[$ee]</b> nicht ausgefüllt<br>";
}
else if($felder[$ee]!="Mail_to" && $felder[$ee]!="ee_subject" && $felder[$ee]!="required")
$ee_body_middle .= "\t".$felder[$ee].":\t\t".$feldwerte[$ee]."\n\n";
}
$fehlerstr .= "</div>";
######################## email body bauen #############################
if($fehler==0) {
$ee_body = "PHP-Webmail online gesendet am ".date ("d:m:Y H:i:s", time ())."\n\nvon $Name, eMail: $email_checked\n_____________________________________________\n\n";
$ee_body .= $ee_body_middle;
$ee_body = urldecode($ee_body);
$html_body = nl2br($ee_body);
echo "<div style=\"font-size:18px;font-weight:bold;font-family:Arial;\">
Ihr Mail:</div>
<div style=\"position:relative;width:360px;layer-background-color:#FEE9CB;background-color:#FEE9CB;font-size:14.9px;font-weight:normal;font-family:Arial;padding:5px;\">
<b>Subject: $ee_subject_dec</b><br><br>
$html_body</div>
<div style=\"font-size:18px;font-weight:bold;font-family:Arial;\">
wird nun an <i>$mail_checked</i> gesendet.....</div>";
######################## senden und prüfen ob gesendet #############################
if($mail_checked!="ERROR" && $email_checked!="ERROR") {
$sendecheck = @mail($mail_checked, $ee_subject_dec, "$ee_body", "From:$Name\nReply-To: $email_checked\nX-Mailer: EE-PHP 4/");
if($sendecheck != false)
echo "<div style=\"margin-top:50px;font-size:24px;font-weight:bold;font-family:Arial;\">
Ihre Mail wurde erfolgreich versendet!</div>";
else echo "<div style=\"margin-top:50px;font-size:24px;colorrange;font-family:Arial;\">
Ihre Mail konnte leider aufgrund eines Serverfehlers nicht versendet
werden!</div>";
}
}
####################### Fehler #################################
else {
echo "
<table border=0 cellpadding=2 cellspacing=2><tr><td colspan=2>
<h2 style=\"font-family:Arial;colorrange;\">Bitte korrigieren Sie folgende Felder</h2>
$fehlerstr
</td></tr>";
echo "<tr><td colspan=2><div style=\"font-family:Arial;\"><br>Bitte klicken Sie auf <a href=\"javascript:history.back()\">zurück</a> und füllen Sie die oben genannten Felder korrekt aus.</div>
</td></tr></table>";
}
?>
</body>
</html>
So ich würde mich freuen wenn ich Hilfestellung von kriegen könnte.
Vielen Dank im Vorraus
Gruss
ich habe mir da einen Mailer besorgt , der läuft ganz ordentlich ... doch ich will so Sachen wie Fehlermeldung oder das die Mail gesendet wurde in einem separeten HTML Fenster übertragen lassen. Im Moment überträgt er mir die Daten in die selbe Seite ??? will ich aber nich :-)
Ich weiss nicht ob das so ok ist aber isch Poste mal das ganze Listing:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--***********************************************************
*********** Copyright Elmar Eigner, open-eye, 2000 ***********
*********** HTML--FLASH--PDF--SCRIPTING.php.js.perl ***********
***************************************************************
*********** visit us at: http://www.open-eye.de ***********
*********** questions/comments to: info@open-eye.de ***********
***************************************************************
*********** do not delete this copyright-note! ***********
***************************************************************
*********** php Formmailer: easyFormMailer ***********
*********** flexibel formular handling + formatting ***********
*********** free private use, if you`ve registred at: *********
*********** http://www.nichtohnegrund.de/registerform.html ****
**********************************************************//-->
<html>
<head>
<title>php FormMailer</title>
<meta name="author" content="Elmar Eigner">
</head>
<BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
<?php
############# muß-Felder, die im Formular sein müssen:
############# $ee_subject
############# $Mail_to
############# $Name
$doc_stat = 0;
$mail_checked = "ERROR";
$email_checked = "ERROR";
$fehler = 0;
$fehlerstr = "<div style=\"color:red;font-size:16px;font-family:Arial;text-align:center;\">";
$felder[$i] = array();
$feldwerte[$i] = array();
$feldwertcheck[$i] = array();
$felderzahl = 0;
if($QUERY_STRING!="") {
$doc_stat = 1;
$query_parts = split("&",$QUERY_STRING);
$felderzahl = $query_parts_len = count($query_parts);
for($i=0;$i<$query_parts_len;$i++) {
list($tmpname,$tmpwert) = split("=",$query_parts[$i]);
$felder[$i] = $tmpname;
$feldwerte[$i] = $tmpwert;
$feldwertcheck[$i] = "LEER";
######## in fact just needed if (track globals=0) ##
if($tmpname=="ee_subject") $ee_subject=$tmpwert;
if($tmpname=="Mail_to") $Mail_to=$tmpwert;
if($tmpname=="Name") $Name=$tmpwert;
if($tmpname=="Email") $Email=$tmpwert;
if($tmpname=="required") $required=$tmpwert;
}
}
else if(isset ($HTTP_POST_VARS)) {
$doc_stat = 1;
reset ($HTTP_POST_VARS);
$daten = $HTTP_POST_VARS;
$felderzahl = $daten_len = count($daten);
$felder = array_keys($daten);
for($i=0;$i<$daten_len;$i++) {
$tmpwert = $daten[$felder[$i]];
$feldwerte[$i] = $tmpwert;
$feldwertcheck[$i] = "LEER";
######## in fact just needed if (track globals=0) ##
if($felder[$i]=="ee_subject") $ee_subject=$tmpwert;
if($felder[$i]=="Mail_to") $Mail_to=$tmpwert;
if($felder[$i]=="Name") $Name=$tmpwert;
if($felder[$i]=="Email") $Email=$tmpwert;
if($felder[$i]=="required") $required=$tmpwert;
}
}
else echo "An Error occured!";
############################### email checker #####################################
function check_mail_val($wmail) {
global $fehler,$fehlerstr;
$Kmail = ereg_replace("%40","@",$wmail);
if(preg_match ("/[öäüß]/i", "$Kmail") || preg_match ("/[^\w(\@\.\-)]/", "$Kmail") || !preg_match ("/\./", "$Kmail") || !preg_match ("/\@/i", "$Kmail") || strlen($Kmail)<8) {
$fehler++;
$fehlerstr .= "<b>Emailadresse</b> nicht gültig ($Kmail)<br>";
return "ERROR";
}
else return $Kmail;
}
function check_fld_len($FELD) {
global $fehler;
if(strlen($FELD)<1) {
$fehler++;
return "LEER";
}
else return $FELD;
}
if($doc_stat == 1) {
$mail_checked = check_mail_val($Mail_to);
if($Email!="") $email_checked = check_mail_val($Email);
$ee_subject_dec = urldecode($ee_subject);
}
for($ee=0;$ee<$felderzahl;$ee++) {
if(stristr($required,$felder[$ee])==true) {
$feldwertcheck[$ee] = check_fld_len($feldwerte[$ee]);
if($feldwertcheck[$ee]!="LEER" && $felder[$ee]!="Mail_to" && $felder[$ee]!="ee_subject" && $felder[$ee]!="required")
$ee_body_middle .= "\t".$felder[$ee].":\t\t".$feldwerte[$ee]."\n\n";
else if($feldwertcheck[$ee]=="LEER")
$fehlerstr .= "Feld <b>$felder[$ee]</b> nicht ausgefüllt<br>";
}
else if($felder[$ee]!="Mail_to" && $felder[$ee]!="ee_subject" && $felder[$ee]!="required")
$ee_body_middle .= "\t".$felder[$ee].":\t\t".$feldwerte[$ee]."\n\n";
}
$fehlerstr .= "</div>";
######################## email body bauen #############################
if($fehler==0) {
$ee_body = "PHP-Webmail online gesendet am ".date ("d:m:Y H:i:s", time ())."\n\nvon $Name, eMail: $email_checked\n_____________________________________________\n\n";
$ee_body .= $ee_body_middle;
$ee_body = urldecode($ee_body);
$html_body = nl2br($ee_body);
echo "<div style=\"font-size:18px;font-weight:bold;font-family:Arial;\">
Ihr Mail:</div>
<div style=\"position:relative;width:360px;layer-background-color:#FEE9CB;background-color:#FEE9CB;font-size:14.9px;font-weight:normal;font-family:Arial;padding:5px;\">
<b>Subject: $ee_subject_dec</b><br><br>
$html_body</div>
<div style=\"font-size:18px;font-weight:bold;font-family:Arial;\">
wird nun an <i>$mail_checked</i> gesendet.....</div>";
######################## senden und prüfen ob gesendet #############################
if($mail_checked!="ERROR" && $email_checked!="ERROR") {
$sendecheck = @mail($mail_checked, $ee_subject_dec, "$ee_body", "From:$Name\nReply-To: $email_checked\nX-Mailer: EE-PHP 4/");
if($sendecheck != false)
echo "<div style=\"margin-top:50px;font-size:24px;font-weight:bold;font-family:Arial;\">
Ihre Mail wurde erfolgreich versendet!</div>";
else echo "<div style=\"margin-top:50px;font-size:24px;colorrange;font-family:Arial;\">
Ihre Mail konnte leider aufgrund eines Serverfehlers nicht versendet
werden!</div>";
}
}
####################### Fehler #################################
else {
echo "
<table border=0 cellpadding=2 cellspacing=2><tr><td colspan=2>
<h2 style=\"font-family:Arial;colorrange;\">Bitte korrigieren Sie folgende Felder</h2>
$fehlerstr
</td></tr>";
echo "<tr><td colspan=2><div style=\"font-family:Arial;\"><br>Bitte klicken Sie auf <a href=\"javascript:history.back()\">zurück</a> und füllen Sie die oben genannten Felder korrekt aus.</div>
</td></tr></table>";
}
?>
</body>
</html>
So ich würde mich freuen wenn ich Hilfestellung von kriegen könnte.
Vielen Dank im Vorraus
Gruss
Kommentar